#pragma once

namespace SyncClient
{
	class FileObject
	{
	public:

	};

	typedef std::list<FileObject> FilesObjects;
	typedef std::list<FileObject> ListResult;

	struct PageParam
	{
		int32_t start = 0;
		int32_t offset = 0;
		int32_t total = 0;
	};

	class IFileSystem
	{
	public:
		virtual int32_t init() = 0;

		virtual int32_t release() = 0;

		virtual int32_t list(const FileObject& folder, const PageParam& page, ListResult& result) = 0;
	};
}
